// import { clipboard } from '@ve/utils/clipboard'
// import { jsonToTable } from '@ve/utils/jsonToTable'

import isEmpty from 'lodash/isEmpty'
import trim from 'lodash/trim'
import { Toast } from 'vant'
import { translateTitle } from '@/utils/i18n'

//必须带done回调 执行完成调用
export default function pdaGetTabLine({ vm, action, additionalData, done }) {
  //
  // 如果参数值是对象的话 则代表是复杂参数 则需要找到对应模块取值

  console.log('表格获取本行数据', vm, vm.info._id, action, additionalData, vm.$store.getters['preview/getNowPageData'], '结束')

  let { getDataKey, useTabData } = action.extension
  let _data = {}
  let _resData = {}
  // 使用表格全部数据
  if (useTabData.value) {
    // 表格双击----additionalData能直接拿到选中的数据
    if (!isEmpty(additionalData)) {
      _data = additionalData.data[0]
      if (!isEmpty(getDataKey.value)) {
        const getDataKeyList = getDataKey.value.split(',')
        let _dataObj = {}
        getDataKeyList.map((item) => {
          item = trim(item)
          _dataObj[item] = _data[item] || ''
        })
        _resData = _dataObj
      } else {
        _resData = _data
      }
    } else {
      // 表格单击--additionalData无法直接拿到选中的数据
      Toast(translateTitle('Pda.elements.请检查获取表格值配置'))
    }
  } else {
    // 没有开始使用全部表格数据
    if (!isEmpty(getDataKey.value)) {
      const getDataKeyList = getDataKey.value.split(',')
      let _dataObj = {}
      getDataKeyList.map((item) => {
        item = trim(item)
        _dataObj[item] = _data[item] || ''
      })
      _resData = _dataObj
    } else {
      _resData = _data
    }
  }
  if (isEmpty(_resData)) {
    Toast(translateTitle('Pda.elements.请选择表格数据'))
    return
  }
  console.log('表格获取本行数据', _resData)
  // 存储动作数据
  vm.$store.dispatch('actionDatas/setActionsData', {
    moduleId: vm.info._id,
    actionId: action._id,
    actionData: _resData,
  })
  done(null, _resData)
}
// let tableObj = []
// function findTablePage(vm) {
//   // 找到当前表格按钮
//   const eachFunc = (obj) => {
//     if (obj._id == vm.info._id) {
//       console.log('拿到了点的得按钮1', obj, vm.$store.getters['preview/getNowPageData'])
//       // console.log('拿到了点的得按钮', formTree(vm.$store.getters['preview/getNowPageData'], vm.info._id))
//       // formTree(vm.$store.getters['preview/getNowPageData'].list, vm.info._id)
//       console.log('拿到了点的得按钮n', tableObj)
//     }
//     obj.list &&
//       obj.list.forEach((item) => {
//         eachFunc(item)
//       })
//     obj.pageModules &&
//       obj.pageModules.forEach((item) => {
//         eachFunc(item)
//       })
//   }
//   eachFunc(vm.$store.getters['preview/getNowPageData'])
// }

// 反递归查找
// function formTree(List, id) {
//   let arrList = List instanceof Object ? Object.values(List) : List
//   console.log('拿到了点的得按钮arrList', arrList)
//   arrList.forEach((item) => {
//     if (item.list && item.list.length) {
//       // 判断是否有list子集
//       if (item.list.some((row) => row._id === id)) {
//         // 判断子集里是否有想要的值来进行是否需要继续递归还是从头递归
//         console.log('拿到了点的得按钮', item)
//         if (item.type == 'uiPdaTable') {
//           tableObj.push(item) // 接收符合的数据id
//         } else {
//           formTree(List, item._id) // 从头递归
//         }
//       } else formTree(item.list, id) // 继续递归
//     }
//     if (item.pageModules && item.pageModules.length) {
//       // 判断是否有pageModules子集

//       if (item.pageModules.some((row) => row._id === id)) {
//         // 判断子集里是否有想要的值来进行是否需要继续递归还是从头递归
//         // tableObj.push(item) // 接收符合的数据id
//         if (item.type == 'uiPdaTable') {
//           tableObj.push(item) // 接收符合的数据id
//         } else {
//           formTree(List, item._id) // 从头递归
//         }
//       } else formTree(item.pageModules[0].list, id) // 继续递归
//     }
//   })
// }
